#pragma once

#include "clkHeader.h"
#include "clkMath.h"

struct clkObjectDef
{
	//shape attributes
	int   m_type;
	float m_radius;
	float m_width;
	float m_height;

	//body attributes
	V2DF  m_pos;
	float m_rot;
	float m_mass;
	float m_iner;
	V2DF  m_lnVel;
	float m_agVel;
	float m_lnDamp;
	float m_agDamp;
	V2DF  m_lnFrc;
	float m_agFrc;
	float m_mxLnFrc;
	float m_mxAgFrc;

	//obj attributes
	bool m_isAsleep;
	bool m_isCollidable;
	bool m_isStationary;

	//ctor
	clkObjectDef()
	{
		m_type = SHAPE_NONE;
		m_radius = 0.0f;
		m_width = 0.0f;
		m_height = 0.0f;

		m_pos = V2D_ZERO;
		m_rot = 0.0f;
		m_mass = 0.0f;
		m_iner = 0.0f;
		m_lnVel = V2D_ZERO;
		m_agVel = 0.0f;
		m_lnDamp = 0.0f;
		m_agDamp = 0.0f;
		m_lnFrc = V2D_ZERO;
		m_agFrc = 0.0f;
		m_mxLnFrc = 0.0f;
		m_mxAgFrc = 0.0f;

		m_isAsleep = false;
		m_isCollidable = false;
		m_isStationary = false;
	}
};